package com.spark.invoicings.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 销售收款表
 * 
 * @author sunyan
 * @email sunyan@gmail.com
 * @date 2024-06-13 11:10:42
 */
@Data
@TableName("t_sale_sales_receipt")
public class SalesReceipt implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 收款ID
	 */
	@TableId(type = IdType.AUTO)
	private Integer receiptId;
	/**
	 * 客户ID
	 */
	private Integer customerId;
	/**
	 * 订单ID
	 */
	private Integer orderId;
	/**
	 * 核销金额
	 */
	private double verificationAmount;
	/**
	 * 核销日期
	 */
	private Date verificationDate;
	/**
	 * 核销人员
	 */
	private String verificationPerson;
	/**
	 * 收款凭证
	 */
	private String receiptProof;
	/**
	 * 账单明细ID
	 */
	private Integer billDetailId;
	/**
	 * 应收明细ID
	 */
	private Integer receivableDetailId;
	/**
	 * 收款方式(1银行转账, 2现金转账, 3支付宝, 4微信, 5支票)
	 */
	private Integer paymentMethodId;
	/**
	 * 备注
	 */
	private String remark;
	/**
	 *销售收款单id
	 * */
	private Integer salesReceiptId;
	/**
	 *核销订单明细id
	 * */
	private Integer orderDetailId;



	/**
	 * 销售收款单关联对象
	 * */
	@TableField(exist = false)
	private Receipt receipt;

	/**
	 * 客户关联对象
	 * */
    @TableField(exist = false)
	private SaleCustomer saleCustomer;

    /**
	 * 销售订单关联对象
	 * */
    @TableField(exist = false)
    private SalesOrder salesOrder;

	/**
	 * 销售订单明细关联对象
	 * */
	@TableField(exist = false)
	private OrderDetail orderDetail;

	/**
	 * 客户对账单明细关联对象
	 * */
	@TableField(exist = false)
	private CustomerStatementDetail customerStatementDetail;

	/**
	 * 应收/应付表关联对象
	 * */
	@TableField(exist = false)
	private ReceivablePayableDetail receivablePayableDetail;

	/**
	 * 字典数据表关联对象
	 * */
	@TableField(exist = false)
	private DictData dictData;


	public Integer getReceiptId() {
		return receiptId;
	}

	public void setReceiptId(Integer receiptId) {
		this.receiptId = receiptId;
	}

	public Integer getCustomerId() {
		return customerId;
	}

	public void setCustomerId(Integer customerId) {
		this.customerId = customerId;
	}

	public Integer getOrderId() {
		return orderId;
	}

	public void setOrderId(Integer orderId) {
		this.orderId = orderId;
	}

	public double getVerificationAmount() {
		return verificationAmount;
	}

	public void setVerificationAmount(double verificationAmount) {
		this.verificationAmount = verificationAmount;
	}

	public Date getVerificationDate() {
		return verificationDate;
	}

	public void setVerificationDate(Date verificationDate) {
		this.verificationDate = verificationDate;
	}

	public String getVerificationPerson() {
		return verificationPerson;
	}

	public void setVerificationPerson(String verificationPerson) {
		this.verificationPerson = verificationPerson;
	}

	public String getReceiptProof() {
		return receiptProof;
	}

	public void setReceiptProof(String receiptProof) {
		this.receiptProof = receiptProof;
	}

	public Integer getBillDetailId() {
		return billDetailId;
	}

	public void setBillDetailId(Integer billDetailId) {
		this.billDetailId = billDetailId;
	}

	public Integer getReceivableDetailId() {
		return receivableDetailId;
	}

	public void setReceivableDetailId(Integer receivableDetailId) {
		this.receivableDetailId = receivableDetailId;
	}

	public Integer getPaymentMethodId() {
		return paymentMethodId;
	}

	public void setPaymentMethodId(Integer paymentMethodId) {
		this.paymentMethodId = paymentMethodId;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public SaleCustomer getSaleCustomer() {
		return saleCustomer;
	}

	public void setSaleCustomer(SaleCustomer saleCustomer) {
		this.saleCustomer = saleCustomer;
	}

	public SalesOrder getSalesOrder() {
		return salesOrder;
	}

	public void setSalesOrder(SalesOrder salesOrder) {
		this.salesOrder = salesOrder;
	}

	public CustomerStatementDetail getCustomerStatementDetail() {
		return customerStatementDetail;
	}

	public void setCustomerStatementDetail(CustomerStatementDetail customerStatementDetail) {
		this.customerStatementDetail = customerStatementDetail;
	}

	public ReceivablePayableDetail getReceivablePayableDetail() {
		return receivablePayableDetail;
	}

	public void setReceivablePayableDetail(ReceivablePayableDetail receivablePayableDetail) {
		this.receivablePayableDetail = receivablePayableDetail;
	}

	public DictData getDictData() {
		return dictData;
	}

	public void setDictData(DictData dictData) {
		this.dictData = dictData;
	}

	public Integer getSalesReceiptId() {
		return salesReceiptId;
	}

	public void setSalesReceiptId(Integer salesReceiptId) {
		this.salesReceiptId = salesReceiptId;
	}

	public Integer getOrderDetailId() {
		return orderDetailId;
	}

	public void setOrderDetailId(Integer orderDetailId) {
		this.orderDetailId = orderDetailId;
	}

	public Receipt getReceipt() {
		return receipt;
	}

	public void setReceipt(Receipt receipt) {
		this.receipt = receipt;
	}

	public OrderDetail getOrderDetail() {
		return orderDetail;
	}

	public void setOrderDetail(OrderDetail orderDetail) {
		this.orderDetail = orderDetail;
	}
}
